A stepping motor has characteristics of being small, and having high torque and long life-time. A driving method by an open-loop control utilizing simple controllability of the stepping motor is generally employed therefor. However, in the driving by the open-loop control, there are some problems such as a loss of synchronism wherein a rotation angle of the motor departs from the target, a vibration of the motor, a difficulty in achieving a high-speed rotation, etc. On the other hand, in a driving method by a closed-loop control, an encoder is provided to the stepping motor, and the motor is controlled while detecting the rotation angle of the motor by the encoder, whereby the loss of synchronism and the vibration are suppressed and the high-speed rotation potential improves, though a control system therefor becomes complex.
U.S. Pat. No. 4,963,808 describe a configuration capable of utilizing a two-phase stepping motor in the two types of operation modes while switching the open-loop control with the two-phase stepping motor and the closed-loop control employing the two-phase stepping motor as a DC motor. In addition, also described herein is a technique in which the number of output pulses in one cycle of the encoder for detecting the rotation angle of the stepping motor is set to be a multiple of the number of magnetic poles in the rotor of the stepping motor. The stepping motor is one-phase excited so as to start the rotation of the rotor from the state in which the rotor is at rest in a predetermined position. An exciting current of the stepping motor is switched every time a predetermined number of pulses are output from the encoder in response to this rotation, thereby suppressing a phase difference between the output pulse and the exciting current of the stepping motor to a predetermined error or less without adjustment.
FIG. 7 shows the conventional device for closed-loop controlling the stepping motor.
In FIG. 7, a control section 124 drives and controls a stepping motor 125 according to either of a first operation mode and a second operation mode. In the first operation mode, the microstep driving, for controlling the rotation angle of a rotor 129 of the stepping motor 125 by the closed-loop control, in which a current command is output from the control section 124 to a driving section 121, is conducted at a timing at which the current command is generated by the control section 124. Furthermore, in the second operation mode, the rotor 129 of the stepping motor 125 is rotated at a high speed by a closed-loop control in which the rotation angle of the rotor 129 is detected by an encoder 128, the detected rotation angle is provided to the control section 124, and a current command is output from the control section 124 to the driving section 121.
The driving section 121 includes an A-phase current driver 122 and a B-phase current driver 123, which are independent from each other. The A-phase current driver 122 and the B-phase current driver 123 are provided with an A-phase current command and a B-phase current command from the control section 124 through a data selector 137 to form currents of the current commands, respectively, and provide these currents to an A-phase stator 126 and a B-phase stator 127, thereby driving the stepping motor 125. Specifically, the A-phase current driver 122 and the Bphase current driver 123 include a D/A converter for converting digital data representing the A-phase current command and the B-phase current command to analog signals, and an amplifier for amplifying and outputting the analog signal.
The stepping motor 125 is of a two-phase PM type, and a stepping angle by the two-phase excitation is 18.degree.. The stepping motor 125 includes a rotor 129 made of a permanent magnet, in which N-poles and S-poles are polarised at every angle of 72.degree. and five poles are polarised for the N-pole and the S-pole in one round, and a two-phase excitation coil including the A-phase stator 126 and the B-phase stator 127. The A-phase stator 126 and the B-phase stator 127 include yokes in which N-poles and S-poles are polarised at every angle of 72.degree. and five poles are polarised for the N-pole and the S-pole in one round, and these yokes are positioned around the rotor 129. The magnetic poles of the yoke of the A-phase stator 126 and the magnetic poles of the yoke of the B-phase stator 127 are offset with respect to each other by 18.degree..
A slit disc 131, in which slits are formed at every angle of 4.5.degree., is fixed to a rotor axis 130. A pitch of an angle of 4.5.degree., at which each slit of the slit disc 131 is formed, is determined such that it becomes 1/integer of a pitch of an angle of 72.degree. at which each magnetic pole of the rotor 129 is formed (herein, 1/16). Especially, since the number of phases of the stepping motor 125 is two phases, the pitch of the angle of 4.5.degree. at which each slit is formed is determined so as to satisfy a relationship of 1/(a multiple of 2), i.e., 1/16=1 /(2.times.8).
A photosensor 132 includes an LED of light emission side and a phototransistor of light reception side, and is of a transparent type in which the LED and the phototransistor are placed on both sides of the slit disc 131. The phototransistor detects the slit of the slit disc 131 by receiving light output from the LED with the phototransistor through the slit of the slit disc 131. The phototransistor outputs an output signal according to the presence and absence of the slit of the slit disc 131. The photosensor 132 is contained in the housing 133 with the slit disc 131, thereby being protected from stain and damage caused by breakage and/or dust.
An output of the photosensor 132 is binarized by a comparator 134. The comparator 134 not only simply compares the output of the photosensor 132 with a reference value so as to output signals of a high level and of a low level, but also switches the high level and the low level of the output signal only when the output of the photosensor 132 is changed between two reference values, thereby avoiding a malfunction due to chattering.
A pulse signal output from the comparator 134 is input to a control section 124 and a hexadecimal counter 135.
A counter 135 counts up in the range of an enumerated value 0-15 every time a single pulse signal is input from the comparator 134; and after the enumerated value reaches 15, the counter 135 initializes the enumerated value to be 0 at a timing of the next count-up, and outputs the enumerated value circulating in the range from 0 to 15 as a binary number of 4 bits. Furthermore, when the clear signal is input from the control section 124, the counter 135 initializes the enumerated value thereof to be 0.
A 4 input/4 output code converter 136 is provided with an enumerated value of four bits from the counter 135, converts the enumerated value to a code of four bits, and outputs this code. The relationship between these enumerated values and the code is shown in a code table 81 of FIG. 8. Herein, 4 bits representing codes output from the code converter 136 are referred to as a P bit, a Q bit, a P inverted bit, and a Q inverted bit. A discrete value input to the code converter 136 is represented not by an actual binary number of 4 bits but by a decimal number.
As seen from the code table 81, each of bits representing codes output from the code converter 136 is one that is obtained by dividing cycles of a pulse signal output from the comparator 134 so as to be 1/16. Phases of the P bit and the Q bit from the code converter 136 are offset with respect to each other by four cycles of a pulse signal output from the comparator 134. Likewise, phases of other P invert bit and Q invert bit from the code converter 136 are offset with respect to each other by four cycles of the pulse signal output from the comparator 134.
A data selector 137 inputs a select signal of 3 bits from the control section 124 as well as four bits, i.e., a P bit, a Q bit, a P inverted bit, and a Q inverted bit, selects two among the P bit, the Q bit, the P inverted bit, and the Q inverted bit according to this select signal, and outputs these selected bits as an A-phase current command and a B-phase current command. These A-phase and B-phase current commands are applied to the driving section 121, and currents of the current commands are applied to the A-phase stator 126 and the B-phase stator 127, thereby rotating the rotor 129.
Details of three bits representing the select signal are a rotation direction data CW (1 bit) and a motor initial state data CM (2 bits).
The rotation direction data CW represents "1" when the stepping motor 125 is rotated in a clockwise direction, and "0" when it is rotated in a counterclockwise direction.
The motor initial state data CM represents an excitation state of the A-phase stator 126 and the B-phase stator 127 of the stepping motor 125 at a point in time when a first operation mode ends. After the stepping motor 125 is once set at a one-phase excitation state by the microstep driving in the first operation mode, the control of driving in a second operation mode is conducted. The one-phase excitation state in the first operation mode includes four states, i.e., a state that only the A-phase stator 126 is excited in the positive direction, a state that only the B-phase stator 127 is excited in the positive direction, a state that only the A-phase stator 126 is excited in the negative direction, and a state that only the B-phase stator 127 is excited in the negative direction. The motor initial state data CM is provided with either of "1", "2", "3", and "4" in the above order according to the state from which a switching to the second operation mode is conducted.
A correspondence between the motor initial state data CM and the rotation direction data CW and two bits selected by and output from the data selector 137 is shown in table 82 of FIG. 9. In this table 82, the motor initial state data CM is represented not by an actual binary number of 4 bits but by a decimal number.
Next, an operation of a stepping motor having such a structure will be described.
First, the control section 124 determines a rotation direction of the rotor 129 of the stepping motor 125. For example, the rotation direction is set to be a clockwise direction. Then, the one-phase excitation state is set up by the microstep driving in the first operation mode to rotate the rotor 129 of the stepping motor 125 to a position of said state.
The one-phase excitation state includes four types of states, as described above. However, a position of the rotor 129 also includes four positions, typically, it is a position at which the rotor 129 reaches in the first place when the rotor 129 is rotated from a rest position in the determined rotation direction. Herein, it is a position of the state in which only the A-phase stator 126 is excited in the positive direction.
After this one-phase excitation state is maintained for 1-2 ms, the control section 124 outputs a clear signal to the counter 135 so that an enumerated value becomes 0. In addition, the control section 124 outputs the motor initial state data CM and the rotation direction data CW to data selector 137.
Herein, "1" is set at the motor initial state data CM so that the rotation direction is clockwise, and "1" is set at the rotation direction data CW in order to start driving from the state that only the A-phase stator 126 is excited in the positive direction. These data values are continuously maintained until the rotor 129 shifts from a first operation mode to a second operation mode, i.e., from a high-speed operation state to a rotation angle controlling state.
When "1" is set at the motor initial state data CM, and "1" is set at the rotation direction data CW, an A-phase current command and a B-phase current command output from the data selector 137 are the P-bit and the Q-bit, as seen from the table 82. And, at a point in time when the enumerated value of the counter 135 is cleared, both the A-phase current command and the B-phase current command (the P-bit and the Q-bit) becomes "0" (low level), as shown in the code table 81. At this time, the operation mode state becomes the second operation mode state, and respective currents of the A-phase current command and the B-phase current command are provided from the driving section 121 to the A-phase stator 126 and the B-phase stator 127, whereby the rotor 129 rotates in the clockwise direction from a rest position of the one-phase excitation state.
After the rotation of the rotor 129 starts in the second operation mode, a pulse signal is output from the binary counter 134 every time the rotor 129 rotates by an angle of 4.5.degree.. When a pulse signal of second cycle is output, the enumerated value of the counter 135 becomes "2", and the A-phase current command becomes "1" (High). Thereafter, the A-phase current command changes every eight cycles of a pulse signal output from the binary counter 134. Likewise, a pulse signal of the sixth cycle of the binary counter 134 is output, the enumerated value of the counter 135 becomes "6", and the B-phase current command becomes "1". Thereafter, B-phase current command changes every eight cycles of a pulse signal output from the binary counter 134.
That is, the A-phase current command and the B-phase current command are selected among the P bit, the Q bit, the P inverted bit, the Q inverted bit according to a rotation direction and a rest position of the one-phase excitation state, and updated every eight cycles of a pulse signal output from the binary counter 134 in response to the rotation of the rotor 129 while maintaining a phase difference of four cycles of a pulse signal output from the binary counter 134.
Respective currents of the A-phase current command and the B-phase current command are continuously provided to the A-phase stator 126 and the B-phase stator 127, whereby the rotor 129 continues to rotate in the clockwise direction. The A-phase stator 126 is excited in the positive direction or in the negative direction in response to the A-phase current command "1" or "0", and the B-phase stator 127 is excited in the positive direction or in the negative direction in response to the B-phase current command "1" or "0". Thus, the A-phase stator 126 and the B-phase stator 127 are excited while consistently maintaining a certain relationship with the angle position of the rotor, respectively, and rotated without causing a loss of synchronism due to an abrupt increase of the load or the like.
The rotor 129 is sometimes controlled at any rotation angle by the microstep driving as well as at the four rotation angles by the above-described four one-phase excitation states. That is, the rotor 129 is sometimes rested at any other rotation angle by appropriately adjusting each of the currents of the A-phase stator 126 and the B-phase stator 127 in a well-known manner.
In the conventional apparatus, when the rotor 129 is rotated from a state that the rotor 129 is rested at any rotation angle, it is required to shift to the second operation mode through the first operation mode. Therefore, since the rotor 129 is rotated from any rotation angle to a rotation angle of the one-phase excitation mode by the microstep driving at a point in time when the first operation mode starts, this rotation requires some extra time.
Furthermore, the one-phase excitation state of the rotor 129 has to be maintained for a certain period until the rotation angle of the rotor 129 becomes stable. This is because a magnetic power between the rotor 129 and each of the stators 126 and 127 functions as a kind of spring power, this spring power and a mass of the rotor 129 form a kind of oscillatory system, and a vibration occurs in the rotor 129 when the rotating rotor 129 stops at any rotation angle. The operation is on standby for a certain period until this vibration decreases and the rotation angle of the rotor 129 becomes stable. Since the rotor 129 reciprocatingly rotates in the clockwise direction and the counterclockwise direction while the rotor 129 is vibrating, even when an output of the encoder 128 is counted by the counter 135 to detect the rotation angle of the rotor 129, this detected rotation angle includes a large error with respect to an actual rotation angle of the rotor 129. Therefore, it is necessary to wait for the output of the clear signal for initializing the enumerated value of the counter 135 until the damped vibration is completely calmed down. This time period is about 10-20 ms, which is not a negligible length of time in some applications to which the stepping motor 125 is directed. For example, when the stepping motor 125 is applied to a typical CD-ROM apparatus or the like, and an optical head is moved along a radial direction of a disk by the stepping motor 125, a standby period of 10-20 ms occurs, which is very long.
Furthermore, when the stepping motor 125 is applied to an optical disk apparatus or the like, and a focus of an optical head is controlled by the stepping motor 125, the damped vibration of the rotor 129 travels to the optical head, thereby adversely affecting a radial position servo of the optical head.
Thus, the present invention is provided in view of the above conventional problems, and an object thereof is to provide a control device for a stepping motor capable of rotating a rotor from any rotation angle within a very short time period without a vibration of the rotor, and a driving device for an optical head employing a control apparatus for the stepping motor.